home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Online / cnetdevice / src / include / sanaii.i < prev    next >
Text File  |  2000-05-18  |  9KB  |  235 lines

  1. ; essential SANA II equates
  2.  
  3. ; History
  4. ;
  5. ;    6-5-00  - Added S3R3 tags - HSMOD
  6. ;   18-5-00  - Added `Multicast address range extensions' - HSMOD
  7. ;
  8. ;
  9.  
  10. SANA2_MAX_ADDR_BITS     EQU     128
  11. SANA2_MAX_ADDR_BYTES    EQU     ((SANA2_MAX_ADDR_BITS+7)/8)
  12.  
  13.  STRUCTURE IOSana2Req,0
  14.     STRUCT ios2_req,io_size                  ;  0 standard ioreq
  15.      ULONG ios2_wireerror                    ; 32 wire type specific error
  16.      ULONG ios2_packettype                   ; 36 packet type
  17.     STRUCT ios2_srcaddr,sana2_max_addr_bytes ; 40 source address
  18.     STRUCT ios2_dstaddr,sana2_max_addr_bytes ; 56 dest address
  19.      ULONG ios2_datalength                   ; 72 length of packet data
  20.       APTR ios2_data                         ; 76 packet data (not touched by driver!)
  21.       APTR ios2_statdata                     ; 80 statistics data pointer
  22.       APTR ios2_buffermanagement             ; 84 see SANA-II OpenDevice adoc
  23.      LABEL IOS2_SIZE
  24.  
  25.  
  26. ;
  27. ; equates for the IO_FLAGS field
  28. ;
  29.  
  30. SANA2IOB_RAW    EQU     7               ; raw packet IO requested
  31. SANA2IOF_RAW    EQU     (1<<SANA2IOB_RAW)
  32.  
  33. SANA2IOB_BCAST  EQU     6               ; broadcast packet (received)
  34. SANA2IOF_BCAST  EQU     (1<<SANA2IOB_BCAST)
  35.  
  36. SANA2IOB_MCAST  EQU     5               ; multicast packet (received)
  37. SANA2IOF_MCAST  EQU     (1<<SANA2IOB_MCAST)
  38.  
  39. SANA2IOB_QUICK  EQU     IOB_QUICK       ; quick IO requested (0)
  40. SANA2IOF_QUICK  EQU     IOF_QUICK
  41.  
  42.  
  43. ;
  44. ; equates for OpenDevice()
  45. ;
  46.  
  47. SANA2OPB_MINE   EQU     0               ; exclusive access requested
  48. SANA2OPF_MINE   EQU     (1<<SANA2OPB_MINE)
  49.  
  50. SANA2OPB_PROM   EQU     1               ; promiscuous mode requested
  51. SANA2OPF_PROM   EQU     (1<<SANA2OPB_PROM)
  52.  
  53.  
  54. TAG_USER = $80000000
  55.  
  56. S2_Dummy              EQU     (TAG_USER+$B0000)
  57. S2_COPYTOBUFF         EQU     S2_Dummy+1
  58. S2_COPYFROMBUFF       EQU     S2_Dummy+2
  59. S2_PACKETFILTER       EQU     S2_Dummy+3
  60. S2_CopyToBuff16       EQU     S2_Dummy+4
  61. S2_CopyFromBuff16     EQU     S2_Dummy+5
  62. S2_CopyToBuff32       EQU     S2_Dummy+6
  63. S2_CopyFromBuff32     EQU     S2_Dummy+7
  64. S2_DMACopyToBuff32    EQU     S2_Dummy+8
  65. S2_DMACopyFromBuff32  EQU     S2_Dummy+9
  66.  
  67.  
  68.  STRUCTURE SANA2DEVICEQUERY,0
  69.         ; Standard information
  70.         ULONG    S2DQ_SIZEAVAILABLE      ; 0  bytes available
  71.         ULONG    S2DQ_SIZESUPPLIED       ; 4  bytes supplied
  72.         ULONG    S2DQ_FORMAT             ; 8  this is type 0
  73.         ULONG    S2DQ_DEVICELEVEL        ; 12 this document is level 0
  74.         ; Common information
  75.         UWORD    S2DQ_ADDRFIELDSIZE      ; 16 address size in bits
  76.         ULONG    S2DQ_MTU                ; 20 maximum packet data size
  77.         ULONG    S2DQ_BPS                ; 24 line rate (bits/sec)
  78.         ULONG    S2DQ_HARDWARETYPE       ; 28 what the wire is
  79.  
  80.         ; Format specific information
  81.         LABEL   S2DQ_SIZE                ; 32
  82.  
  83. ; statistics recorded with CMD_TRACKTYPE
  84.  
  85.  STRUCTURE SANA2PacketTypeStats,0
  86.         LONG    s2pts_txpackets         ; 0  transmitted count
  87.         LONG    s2pts_rxpackets         ; 4  received count
  88.         LONG    s2pts_txbytes           ; 8  bytes transmitted count
  89.         LONG    s2pts_rxbytes           ; 12 bytes received count
  90.         LONG    s2pts_packetsdropped    ; 16 packets dropped count
  91.        LABEL    s2pts_size              ; 20
  92.  
  93. ; stats nodes kept in tracklist
  94.  
  95.      STRUCTURE SuperS2PTStats,0
  96.         STRUCT ss2_node,mln_size         ; 0  list node
  97.          LONG  ss2_ptype                 ; 8  type of packet
  98.         STRUCT ss2_stats,s2pts_size      ; 12 packet type stats
  99.         LABEL  ss2_sizeof                ; 32
  100.  
  101.  
  102.  STRUCTURE SANA2SPECIALSTATRECORD,0
  103.         ULONG   S2SSR_TYPE              ; 0  statistic identifier
  104.         ULONG   S2SSR_COUNT             ; 4  the statistic
  105.         APTR    S2SSR_STRING            ; 8  statistic name
  106.         LABEL   S2SSR_SIZE              ; 12
  107.  
  108.  
  109.  STRUCTURE SANA2SPECIALSTATHEADER,0
  110.         ULONG   S2SSH_RECORDCOUNTMAX            ; 0 room available
  111.         ULONG   S2SSH_RECORDCOUNTSUPPLIED       ; 4 number supplied
  112.         LABEL   S2SSH_SIZE                      ; 8
  113.  
  114.  
  115.  STRUCTURE SANA2DEVICESTATS,0
  116.         ULONG    S2DS_PACKETSRECEIVED           ; 0  received count
  117.         ULONG    S2DS_PACKETSSENT               ; 4  transmitted count
  118.         ULONG    S2DS_BADDATA                   ; 8  bad packets received
  119.         ULONG    S2DS_OVERRUNS                  ; 12 hardware miss count
  120.         ULONG    S2DS_UNUSED                    ; 16 currently unused field
  121.         ULONG    S2DS_UNKNOWNTYPESRECEIVED      ; 20 orphan count
  122.         ULONG    S2DS_RECONFIGURATIONS          ; 24 network reconfigurations
  123.         STRUCT   S2DS_LASTSTART,TV_SIZE         ; 28 time of last online
  124.         LABEL    S2DS_SIZE                      ; 36
  125.  
  126.  
  127. ;
  128. ; defined SANA-II hardware types
  129. ;
  130.  
  131. S2WIRETYPE_ETHERNET             EQU     1
  132. S2WIRETYPE_IEEE802              EQU     6
  133. S2WIRETYPE_ARCNET               EQU     7
  134. S2WIRETYPE_LOCALTALK            EQU     11
  135. S2WIRETYPE_DYLAN                EQU     12
  136.  
  137. S2WIRETYPE_AMOKNET              EQU     200
  138.  
  139. S2WIRETYPE_LIANA        EQU    202
  140.  
  141. S2WIRETYPE_PPP                  EQU     253
  142. S2WIRETYPE_SLIP                 EQU     254
  143. S2WIRETYPE_CSLIP                EQU     255
  144.  
  145. S2WIRETYPE_PLIP            EQU    420
  146.  
  147.  
  148. ;============================================================
  149. ;         SANA II specific Device Commands
  150. ;
  151.  
  152. S2_START                EQU     (CMD_NONSTD)
  153.  
  154. S2_DEVICEQUERY          EQU     (S2_START+0)   ; 9
  155. S2_GETSTATIONADDRESS    EQU     (S2_START+1)   ; 10
  156. S2_CONFIGINTERFACE      EQU     (S2_START+2)   ; 11
  157. S2_ADDMULTICASTADDRESS  EQU     (S2_START+5)   ; 14
  158. S2_DELMULTICASTADDRESS  EQU     (S2_START+6)   ; 15
  159. S2_MULTICAST            EQU     (S2_START+7)   ; 16
  160. S2_BROADCAST            EQU     (S2_START+8)   ; 17
  161. S2_TRACKTYPE            EQU     (S2_START+9)   ; 18
  162. S2_UNTRACKTYPE          EQU     (S2_START+10)  ; 19
  163. S2_GETTYPESTATS         EQU     (S2_START+11)  ; 20
  164. S2_GETSPECIALSTATS      EQU     (S2_START+12)  ; 21
  165. S2_GETGLOBALSTATS       EQU     (S2_START+13)  ; 22
  166. S2_ONEVENT              EQU     (S2_START+14)  ; 23
  167. S2_READORPHAN           EQU     (S2_START+15)  ; 24
  168. S2_ONLINE               EQU     (S2_START+16)  ; 25
  169. S2_OFFLINE              EQU     (S2_START+17)  ; 26
  170.  
  171. S2_END                  EQU     (S2_START+18)  ; 27
  172.  
  173. NSCMD_DEVICEQUERY        EQU    $4000
  174. S2_ADDMULTICASTADDRESSES EQU    $c000
  175. S2_DELMULTICASTADDRESSES EQU    $c001
  176.  
  177. ;
  178. ; defined errors for IO_ERROR
  179. ;
  180.  
  181. S2ERR_NO_ERROR          EQU     0       ; peachy-keen
  182. S2ERR_NO_RESOURCES      EQU     1       ; resource allocation failure
  183. S2ERR_BAD_ARGUMENT      EQU     3       ; garbage somewhere
  184. S2ERR_BAD_STATE         EQU     4       ; inappropriate state
  185. S2ERR_BAD_ADDRESS       EQU     5       ; who?
  186. S2ERR_MTU_EXCEEDED      EQU     6       ; too much to chew
  187. S2ERR_NOT_SUPPORTED     EQU     8       ; command not supported by hardware
  188. S2ERR_SOFTWARE          EQU     9       ; software error detected
  189. S2ERR_OUTOFSERVICE      EQU     10      ; driver is offline
  190. S2ERR_TX_FAILURE        EQU     11      ; transmission attempt failed
  191.  
  192. ;
  193. ; defined errors for IOS2_WIREERROR
  194. ;
  195.  
  196. S2WERR_GENERIC_ERROR    EQU     0       ; no specific info available
  197. S2WERR_NOT_CONFIGURED   EQU     1       ; unit not configured
  198. S2WERR_UNIT_ONLINE      EQU     2       ; unit is currently online
  199. S2WERR_UNIT_OFFLINE     EQU     3       ; unit is currently offline
  200. S2WERR_ALREADY_TRACKED  EQU     4       ; protocol already tracked
  201. S2WERR_NOT_TRACKED      EQU     5       ; protocol not tracked
  202. S2WERR_BUFF_ERROR       EQU     6       ; buffer mgmt func returned error
  203. S2WERR_SRC_ADDRESS      EQU     7       ; source address problem
  204. S2WERR_DST_ADDRESS      EQU     8       ; destination address problem
  205. S2WERR_BAD_BROADCAST    EQU     9       ; broadcast address problem
  206. S2WERR_BAD_MULTICAST    EQU     10      ; multicast address problem
  207. S2WERR_MULTICAST_FULL   EQU     11      ; multicast address list full
  208. S2WERR_BAD_EVENT        EQU     12      ; unsupported event class
  209. S2WERR_BAD_STATDATA     EQU     13      ; statdata failed sanity check
  210. S2WERR_IS_CONFIGURED    EQU     15      ; attempt to config twice
  211. S2WERR_NULL_POINTER     EQU     16      ; null pointer detected
  212. S2WERR_TOO_MANY_RETRIES EQU     17      ; tx failed due to too many retries
  213. S2WERR_RCVREL_HDW_ERR   EQU     18      ; driver fixable hdw error
  214.  
  215.  
  216. ;
  217. ; defined events
  218. ;
  219.  
  220. S2EVENT_ERROR       equ 1      ; error catch all
  221. S2EVENT_TX          equ 2      ; transmitter error catch all
  222. S2EVENT_RX          equ 4      ; receiver error catch all
  223. S2EVENT_ONLINE      equ 8      ; unit is in service
  224. S2EVENT_OFFLINE     equ 16     ; unit is not in service
  225. S2EVENT_BUFF        equ 32     ; buffer mgmt function error catch all
  226. S2EVENT_HARDWARE    equ 64     ; hardware error catch all
  227. S2EVENT_SOFTWARE    equ 128    ; software error catch all
  228.  
  229.  
  230. ; defined ethernet special statistics
  231.  
  232. S2SS_ETHERNET_BADMULTICAST EQU ((((S2WIRETYPE_ETHERNET)&$ffff)<<16)|$0000)
  233. S2SS_ETHERNET_RETRIES      EQU ((((S2WIRETYPE_ETHERNET)&$ffff)<<16)|$0001)
  234.  
  235.